﻿import numpy as np

# 1.一维数组
ar = np.arange(2, 14)
print("一维数组：")
print(ar)
print(ar[3]) # 索引三
print(ar[:3]) # 索引零到二
print(ar[::3]) # 三的倍数索引

# 2.二维数组
ar = np.arange(16).reshape(4, 4)
print("二维数组：")
print(ar)
print(ar[2][2]) # 行索引为二、列索引为二的元素
print(ar[2, 2]) # 行索引为二、列索引为二的元素
print(ar[2]) # 行索引为二的行
print(ar[1:3]) # 行索引一到二的行（2行）
print(ar[:2, 2:]) # 行索引零到一、列索引二到末尾

# 3.布尔索引与切片
ar = np.arange(12).reshape(3, 4)
print("布尔索引与切片：")
print(ar)
i = np.array([True, False, True])
j = np.array([True, False, False, True])
print(i)
print(j)
print(ar[i, :]) # 显示True行
print(ar[:, j]) # 显示True列
print(ar[i, j])  # 显示True行True列（解释有误）
print(ar > 5) # 是否大于5的布尔数组
print(ar[ar > 5]) # 大于5的数组成的数组